package com.fare.taluo.core.domain.config.channel.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.dayatang.hibernate.EntityRepositoryHibernate;
import com.fare.taluo.core.domain.config.channel.AgentEntity;
import com.fare.taluo.core.domain.config.channel.AgentEntityReposity;
import com.fare.taluo.util.StringAndDateAndFileUtil;
import com.fare.taluo.util.StringUtils;
@Repository
public class AgentEntityReposityImpl extends EntityRepositoryHibernate implements AgentEntityReposity {

	@Override
	public List<AgentEntity> findAgentEntityByAgentCode(String agentCode) {
		String hql = "from AgentEntity t";
		List<Object> paramList = new ArrayList<Object>();
		if(StringAndDateAndFileUtil.checkString(agentCode)){
			hql += " where t.agentCode = ? ";
			
			paramList.add(Integer.parseInt(agentCode));
		}
		
		List<AgentEntity> lst = super.find(hql,paramList.toArray(),AgentEntity.class);
		return lst;
	}
	
	public List<AgentEntity> findAll(){
		String hql = "from AgentEntity c where 1=1" ;
		List<Object> params = new ArrayList<Object>();
		List<AgentEntity> cl = super.find(hql,params.toArray(),AgentEntity.class);//super.find(hql,params.toArray(),CityEntity.class);
		return cl;
	}
	
	
	public static void main(String[] args) {
		String str = "2608=大鸿运商务, 1766=正橹航空, 2644=双程航空, 2031=钰翔航空, 3129=立志向上航空, 1955=苏州祥和, 3464=一路无忧航空, 2317=博览天下, 1690=昆明易游航空, 1104=深圳特航, 3169=雨梦航空, 3312=逍遥行航空, 3027=中国国际航空旗舰店, 311=联丰航空, 924=深圳华正商旅, 2405=凌云航空票务, 3459=蓝天白云航空, 703=茶恬园国旅, 1825=东方祥云航空, 2993=兴梅航空, 2024=鸿运达航空, 2027=金旅航空, 2958=北京中航旅, 1563=大俊朗商旅, 1468=快乐逸行, 2540=鸿源迅达航空, 2013=银川阳光商旅, 302=腾邦国际商旅中心, 3272=达志成旅行, 1967=青岛航铁通, 2016=中源航空, 3158=晨光航空, 1962=一达商旅, 1403=华通航空, 1758=深港联航服, 1086=华北航空, 1650=观光益洋, 3164=宏伟航服, 2256=佳程票务, 1555=千翼航空, 1518=贝川票务, 1553=天泰航空, 422=佳诚航空, 1835=森鑫源航空, 2373=海华航空,2359=依阳商旅, 2608=大鸿运商务, 2644=双程航空, 2031=钰翔航空, 1955=苏州祥和, 3129=立志向上航空, 1690=昆明易游航空, 1104=深圳特航, 3169=雨梦航空, 1027=北京捷泰, 924=深圳华正商旅, 311=联丰航空, 2405=凌云航空票务, 3459=蓝天白云航空, 3533=恒正同辉航空, 3196=千里之行航空, 3399=民惠航空, 703=茶恬园国旅, 1643=朝生商旅, 2993=兴梅航空, 2027=金旅航空, 1721=平安商旅, 1563=大俊朗商旅, 1468=快乐逸行, 2540=鸿源迅达航空, 3272=达志成旅行, 2013=银川阳光商旅, 2122=南方航空旗舰店, 2016=中源航空, 1962=一达商旅, 2088=万航通达旅行, 1086=华北航空, 1775=宇翔商旅网, 1758=深港联航服, 1514=中国东方航空旗舰店, 1650=观光益洋, 2256=佳程票务, 1710=三和旅行, 1555=千翼航空, 1553=天泰航空, 1518=贝川票务, 2450=纵横天地, 1835=森鑫源航空, 2373=海华航空, 1817=祥达航空, 3045=机场商旅,2608=大鸿运商务, 1766=正橹航空, 2644=双程航空, 2031=钰翔航空, 3129=立志向上航空, 1955=苏州祥和, 3464=一路无忧航空, 2317=博览天下, 1690=昆明易游航空, 1104=深圳特航, 3169=雨梦航空, 3312=逍遥行航空, 3027=中国国际航空旗舰店, 311=联丰航空, 924=深圳华正商旅, 2405=凌云航空票务, 3459=蓝天白云航空, 703=茶恬园国旅, 1825=东方祥云航空, 2993=兴梅航空, 2024=鸿运达航空, 2027=金旅航空, 2958=北京中航旅, 1563=大俊朗商旅, 1468=快乐逸行, 2540=鸿源迅达航空, 2013=银川阳光商旅, 302=腾邦国际商旅中心, 3272=达志成旅行, 1967=青岛航铁通, 2016=中源航空, 3158=晨光航空, 1962=一达商旅, 1403=华通航空, 1758=深港联航服, 1086=华北航空, 1650=观光益洋, 3164=宏伟航服, 2256=佳程票务, 1555=千翼航空, 1518=贝川票务, 1553=天泰航空, 422=佳诚航空, 1835=森鑫源航空, 2373=海华航空,2645=新主流航空, 1955=苏州祥和, 1104=深圳特航, 3169=雨梦航空, 2405=凌云航空票务, 1688=海南博力航空, 3196=千里之行航空, 1825=东方祥云航空, 2441=铁航商旅网, 1643=朝生商旅, 2993=兴梅航空, 1468=快乐逸行, 2013=银川阳光商旅, 3272=达志成旅行, 302=腾邦国际商旅中心, 1967=青岛航铁通, 2122=南方航空旗舰店, 2016=中源航空, 1962=一达商旅, 1758=深港联航服, 1086=华北航空, 2256=佳程票务, 2021=易得航空, 1555=千翼航空, 2450=纵横天地,2645=新主流航空, 803=邦瑞伴旅, 1690=昆明易游航空, 1104=深圳特航, 3169=雨梦航空, 1026=上海广发商旅, 2405=凌云航空票务, 3459=蓝天白云航空, 3533=恒正同辉航空, 2244=长翼正航空, 533=网逸航空, 703=茶恬园国旅, 1643=朝生商旅, 2540=鸿源迅达航空, 3272=达志成旅行, 2420=叁叁零票务, 2013=银川阳光商旅, 2344=天云票务, 1732=百益航空, 1774=重庆云上票务, 1962=一达商旅, 1384=国力旅运, 3299=力程票务, 1758=深港联航服, 1514=中国东方航空旗舰店, 2021=易得航空, 1555=千翼航空, 2352=深圳飞鹤航空, 1518=贝川票务, 1553=天泰航空";
		String[] arr = str.split(",");
		Map<String,String> map = new HashMap<String, String>();
		for (String keyValue : arr) {
			map.put(keyValue.split("=")[0], keyValue.split("=")[1]);
		}
		  Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
		  while (it.hasNext()) {
		   Map.Entry<String, String> entry = it.next();
		   System.out.println(entry.getKey() + " - " + entry.getValue());
		  }
	}

	@Override
	public void saveOrUpdate(AgentEntity entity) {
		super.save(entity);
		
	}

	@Override
	public boolean entityExist(String agentCode, String channel) {
		String hql = "from AgentEntity t";
		List<Object> paramList = new ArrayList<Object>();
		if(StringAndDateAndFileUtil.checkString(agentCode)){
			hql += " where t.agentCode = ? ";
			
			paramList.add(Integer.parseInt(agentCode));
		}
		if(StringAndDateAndFileUtil.checkString(channel)){
			hql += " and t.channel = ? ";
			
			paramList.add(channel);
		}
		List<AgentEntity> lst = super.find(hql,paramList.toArray(),AgentEntity.class);
		if(StringUtils.checkList(lst)){
			return true;
		}else{
			return false;
		}
	}

	@Override
	public void remove(AgentEntity entity) {
		super.remove(entity);
		
	}
}
